package com.molichuxing.services.infrastructure.service;

import com.molichuxing.services.infrastructure.dto.response.response.GroupCreateDto;
import com.molichuxing.services.infrastructure.dto.response.response.GroupDto;
import com.molichuxing.services.infrastructure.dto.response.response.GroupModifyDto;

import java.util.List;
import java.util.Map;

public interface GroupService {

    /**
     * 根据条件查询符合条件的角色数据
     *
     * @param param
     * @return
     */
    List<GroupDto> getGroupListByParm(Map<String, Object> param);

    int getGroupCountByParam(Map<String, Object> param);

    /**
     * 根据条件查询符合条件的角色数据(带分页)
     *
     * @param param
     * @return
     */
    List<GroupDto> getGroupPageListByParm(Map<String, Object> param, int pageNum, int pageSize);

    /**
     * 创建新角色
     *
     * @param dto
     * @return
     */
    int createGroup(GroupCreateDto dto);

    /**
     * 修改已有角色
     *
     * @param dto
     * @return
     */
    int modifyGroup(GroupModifyDto dto);

    /**
     * 通过角色名称，角色所属机构获得角色id
     *
     * @param dealerId
     * @param groupName
     * @return
     */
    GroupDto getGroupByNameAndDealerId(Integer systemType, Integer dealerId, String groupName);

    GroupDto getGroupById(int id);
}
